#!/usr/bin/env python
# -*- encoding: utf-8 -*-
"""
主题: 最短匹配模式
问题: 你正在试着用正则表达式匹配某个文本模式，但是它找到的是模式的最长可能匹配。 而你想修改它变成查找最短的可能匹配。
提示 :
"""

import re

def recipe1():
    str_pat = re.compile(r'"(.*)"') # 匹配被双引号包含的文本
    text1 = 'Computer says "no."'
    print(f"{text1 = }")
    print(f"{str_pat.findall(text1) = }")

    text2 = 'Computer says "no." Phone says "yes."'
    print(f"{text2 = }")
    print(f"{str_pat.findall(text2) = }")

    # 在模式中的*操作符后面加上?修饰符
    str_pat = re.compile(r'"(.*?)"') # 非贪婪模式
    print(f"{str_pat.findall(text2) = }")

def main():
    print('recipe1'.center(20, '*'))
    recipe1()

if __name__ == '__main__':
    main()   